package com.example.pojo;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_user") // 当数据库表名和实体类名不一致时(忽略大小写) 可以使用@TableName来指定表名
public class User {
    // 默认是雪花算法
    // 64位long型的二进制数，高位部分为时间戳，时间戳占42位，精确到毫秒级别；
    // 接着是10位的工作机器ID 机器MAC地址、IP地址等一些符合业务需要的唯一标识
    // 最后是12位的序列号，生成ID的并发度或吞吐量，支持单机每秒最高生成4096个ID
    @TableId(type = IdType.AUTO) // 自增主键
    private Integer id;
    @TableField(value = "name", exist = true) // 确保可以匹配到表的某一列
    private String name;
    private Integer age;
    private String email;
    @TableLogic //逻辑删除状态字段  默认0 未删除 1 删除
    // 查询数据时,默认只查询 deleted=0
    private Integer deleted;

    @Version
    private Integer version;
}

